In general, in communication systems, such as video conferencing systems and teleconferencing systems, hands-free telephones are widely utilized. To realize hands-free telephones, an echo canceller for cancelling echoes (acoustic echoes) is important.
As a communication system provided with an echo canceller, a system which executes processing for cancelling echoes within an apparatus such as a base station is known.
In information terminals, such as smartphones, PDAs and personal computers, an echo canceller is applicable to various applications that require processing of a sound signal received through a microphone, as well as a call application.
In conventional information terminals, sound signals used to be processed by hardware such as dedicated LSIs and DSPs. In many recent information terminals, however, sound signals are processed by software.
Echoes are caused when the sound output from a loudspeaker fed back to a microphone. To cancel an echo component from an input sound signal which input from the microphone, it is necessary to detect an output sound signal corresponding to the echo component. However, since in many information terminals, a non-realtime OS is used, it is difficult to accurately synchronize a task for sending an output sound signal to the loudspeaker with a task for acquiring an input sound signal through the microphone. Therefore, there is a case where the input and output sound signals cannot be synchronized, thereby making echo cancelling operation unstable.